var mongoose = require('mongoose') ;     // 定义使用组件
var Schema = mongoose.Schema ;  // 创建模式

var UsersScheam = new Schema({
    un : String,
    pw : String,
    em : String
},{collection:'users'});
exports.users = mongoose.model('Users',UsersScheam);

var MrsSchema = new Schema({
          md : String,//返修时间
          me : String,//返修入库人
          con : String, //返修内容/原因
          mqp : String,//返修质检人
          mwa : String//入库管理员
});
exports.mrs = mongoose.model('Mrs',MrsSchema);

var SdsSchema = new Schema({
    sk : String,//规格键
    sv : String //规格值
});
exports.sds = mongoose.model('Sds',SdsSchema);

var SpsSchema = new Schema({
    pk : String,//特殊属性名
    pv : String //特殊属性值
});
exports.sps = mongoose.model('Sps',SpsSchema);
/*
var CplogScheam = new Schema({
    clgt : {type : Date,default : Date.now},//log时间
    clgc : String //log内容
});
exports.cplog = mongoose.model('Cplog',CplogScheam);

var PalogSchema = new Schema({
    logt : {type : Date,default : Date.now},//log时间
    logc : String //log内容
});
exports.palog = mongoose.model('Palog',PalogSchema);
*/
var PamrsSchema = new Schema({
    pmt : String,//返修时间
    pmc : String //返修原因
});
exports.pamrs = mongoose.model('Pamrs',PamrsSchema);

//产品组件对象
var PaSchema = new Schema({
    pasn : String,//sn序列号 唯一
    pana : String,//组件名称
    patp : String,//型号
    pavn : String,//版本号
    pada : String,//生产日期
    pami : String,//生产商信息
    pabn : String,//批次
    papa : String,//生产地
    pads : String,//发往地
    paus : String,//最终用户
    past : Number,//状态（1 使用，0 未使用，2 维修中）与整机关联上即使用
    //palog : [PalogSchema],//log日志
    pamrs : [PamrsSchema],//返修记录
    pavb : Boolean //标记该sn号是否有效(1 正常有效，0 失效)区分作废的条码标签
},{collection:'pa'});
exports.pa = mongoose.model('Pa',PaSchema);

var CpSchema = new Schema({
         //_id : Schema.Types.ObjectId,
         sn : String,//code
         pn : String ,//产品名称
         cd : String,//出厂日期
         ds : String,//部署地点
         bn : String,//批号
         tp : String,//型号
         isd : String,//生产入库时间
         isqp : String,//入库质检人
         iswa : String,//入库管理员
         war : String,//质保期
         osd : String,//出库时间
         oswa : String,//出库管理员
         na : String,//提货性质（出售/出租）
         bp : String,//提货人
         mrs : [MrsSchema],//嵌套Documents
         sds : [SdsSchema],//规格
         sps :[SpsSchema],//特殊属性
         ass : [{ type: Schema.Types.ObjectId, ref: 'Pa'}],//组件信息
         //cplog : [CplogScheam],//操作记录
         vb : {type : Boolean,default:true},//标记该产品是否可用（1 正常使用，0损坏）
         versionKey : false
         //cd : {type : Date,default : Date.now}
},{collection:'cp'});
exports.cp = mongoose.model('Cp',CpSchema);//将该Schema发布为Model


